namespace Brjnk.GpxExplorer.Workspace.BitmapExport
{
    using Brjnk.Common;

    /// <summary>
    /// </summary>
    public class GeoObjectLabelStyle : InheritableValues
    {
        static GeoObjectLabelStyle()
        {
            DefineInheritableValue("ContentLayout", ContentLayout.Vertical);
            DefineInheritableValue("ShowValueTitles", true);
            DefineInheritableValue("ShowName", true);
        }

        public ContentLayout ContentLayout
        {
            get { return base.GetValue<ContentLayout>("ContentLayout"); }
            set { base.SetValue("ContentLayout", value); }
        }

        public bool ShowValueTitles
        {
            get { return base.GetValue<bool>("ShowValueTitles"); }
            set { base.SetValue("ShowValueTitles", value); }
        }

        public bool IsContentLayoutLocal
        {
            get { return IsLocalGetter("ContentLayout"); }
            set { IsLocalSetter("ContentLayout", value); }
        }

        public bool ShowName
        {
            get { return base.GetValue<bool>("ShowName"); }
            set { base.SetValue("ShowName", value); }
        }

        public bool IsShowNameLocal
        {
            get { return base.IsLocalGetter("ShowName"); }
            set { base.IsLocalSetter("ShowName", value); }
        }

        public bool IsShowValueTitlesLocal
        {
            get { return base.IsLocalGetter("ShowValueTitles"); }
            set { base.IsLocalSetter("ShowValueTitles", value); }
        }

        public GeoObjectLabelStyle(GeoObjectLabelStyle parent) : base(parent) { }

        public GeoObjectLabelStyle() : base() { }
    }

    public enum ContentLayout
    {
        Horizontal,
        Vertical
    }
}